"""
1、删除列表里所有字符串对象
2、删除列表中重复的元素
3、l1 = [1, 2, 3, 4, 5]
（1）在l1的元素3后面插入300
（2）删除元素2
（3）将5更改为500
（4）将2，3，4切片出来
（5）l1[-3:-5]的结果
（6）l1[-3:]的结果
4. 通过input引导用户输入一个姓名，判断该姓名是否存在于列表names中
5、l = [1,2,3,[4,5]]
（1）将4修改为400
（2）在l的[4，5]列表中追加一个6，即使l变为[1,2,3,[4,5,6]]
6、计算数值型列表的平均值是多少？
7、从数值型列表中，将索引位置为偶数的，挑选出来，放到一个新列表里
8、求出列表里最大的数是多少（不允许用sort等其他内置函数去做）,以及这个数所在的索引位置
9、学生管理系统：打印功能菜单、添加学生信息、删除学生信息、修改学生信息、显示学生信息、退出系统，并且需要接收用户的输入，在根据输入内容调用相应函数实现相应功能，模板图如下
10、计算传入的string中,数字,字母,空格以及其它内容的个数,并返回结果
11、一行代码实现1~100的和
12、删除列表中所有重复元素，使得每个元素只出现一次
13、从0~9的十个数字中随机取出4个不重复的数字组成一个字符串，将四个字符串放入列表中
14、判断输入的数字是否大于1500
"""
import random
# list1 = [1, 2, 'a', 3, 4, 1, 2, 3, 'b', 'c']
# 1、删除列表里所有字符串对象
"""
a = 0
while a<len(list1):
    if type(list1[a]) == str:
        del list1[a]
    else:
        a += 1
print(list1)

# for i in range(len(list1)):
#     if type(list1[i]) == str:
#         del list1[i]
# print(list1)
"""
# 2、删除列表中重复的元素
"""
a = 0
while a<len(list1):
    b = a + 1
    while b < len(list1):
        if list1[b] == list1[a]:
            del list1[b]
        else:
            b += 1
    a += 1
print(list1)
"""

# l1 = [1, 2, 3, 4, 5]

# 3、l1 = [1, 2, 3, 4, 5]
# （1）在l1的元素3后面插入300
# l1.insert(2,300)
# print(l1)
# （2）删除元素2
"""
if 2 in l1:
    del l1[l1.index(2)]
print(l1)
"""
# （3）将5更改为500
"""
if 5 in l1:
    l1[l1.index(5)] = 500
print(l1)
"""
# （4）将2，3，4切片出来
# print(l1[1:4])
# （5）l1[-3:-5]的结果
# print(l1[-3:-5])
# （6）l1[-3:]的结果
# print(l1[-3:])


# 4. 通过input引导用户输入一个姓名，判断该姓名是否存在于列表names中
"""
names = []
while True:
    name = input("请输入员工名字:")
    if name == "quit":
        print("查找结束")
        break
    elif name  in names:
        print("该姓名已存在")
    else:
        names.append(name)
        print("添加%s员工成功！" % name)
        print(names)
"""
# 5、l = [1,2,3,[4,5]]
"""
l = [1,2,3,[4,5]]
# （1）将4修改为400
l[3][0] = 400
print(l)
# （2）在l的[4，5]列表中追加一个6，即使l变为[1,2,3,[4,5,6]]
l[3].append(6)
print(l)
"""
#6、计算数值型列表的平均值是多少？
"""
list = [10, 20, 30, 40, 50]
avg = sum(list) / len(list)
print(avg)
"""
# 7、从数值型列表中，将索引位置为偶数的，挑选出来，放到一个新列表里
"""
list1  = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
n_list=[]
for i in range(len(list1)):
    if i % 2 ==0:
        n_list.append(list1[i])
print(n_list)
"""
# 8、求出列表里最大的数是多少（不允许用sort等其他内置函数去做）,以及这个数所在的索引位置
"""
my_list = [5, 2, 8, 1, 7, 3, 9, 4, 6]
max_value = my_list[0]
max_index = 0
for i,v in enumerate(my_list):
    if v > max_value:
        max_value = v
        max_index = i
print("最大值是:",max_value,";所在的索引位置是:",max_index)
"""
# 9、学生管理系统：打印功能菜单、添加学生信息、删除学生信息、修改学生信息、显示学生信息、退出系统，并且需要接收用户的输入，在根据输入内容调用相应函数实现相应功能，模板图如下
students = []
stu_choice = """
学生管理系统菜单
1. 添加学生信
2. 删除学生信息
3. 修改学生信息
4. 显示学生信息
5. 退出系统
"""
while True:
    print(stu_choice)
    a = input("请求在1-5之间做出你想要的操作:")
    if a == "1":

        id = input("学生id:")
        name = input("学生姓名:")
        student = [id,name]
        if id in students:
            print("id已存在")
        else:
            students.append(student)
        print(students)
    elif a == "2":
        id = input("请你输入想要删除学生的id:")
        for id in students:
            if id in students:
                students.remove(student)
                print("学生信息删除成功!")
                print(students)
                break
        else:
            print("未找到该学生信息")
    elif a == "3":
        for student in students:
            id = input("请你输入你想修改的学生的id: ")
            if student[0] == id:
                student[1] = input("学生姓名: ")
                print("学生信息修改成功!")
                print(students)
                break
        else:
            print("未找到该学生信息")
    elif a == "4":
        for student in students:
            print(student)
    elif a == "5":
        print("退出系统")
        break
    else:
        print("无效输入请重新输入")


# 10、计算传入的string中,数字,字母,空格以及其它内容的个数,并返回结果
"""
str = input("请输入字符串:")
str_type = 0
int_type = 0
null_type = 0
other_type = 0
for i in str:
    # print(str[i])
    # print(type(str[i]))
    if i.isalpha():
        str_type +=1
    elif i.isdigit():
        int_type += 1
    elif i.isspace():
        null_type += 1
    else:
        other_type += 1
print("字母个数:",str_type,";数字个数:",int_type,";空格个数:",null_type,";其他个数:",other_type)
"""
# 11、一行代码实现1~100的和
# print(sum(range(1,101)))
# 12、删除列表中所有重复元素，使得每个元素只出现一次
"""
list1 = [1,2,3,4,5,6,1,2,3,4,5]
result = []
for i in list1:
    if i not in result:
        result.append(i)
print(result)
"""
# 13、从0~9的十个数字中随机取出4个不重复的数字组成一个字符串，将四个字符串放入列表中
"""
resault= []
while True:
    str1 = "0123456789"
    str2 = ""
    for i in range(4):
        random_str = random.choices(str1)  # 每一个
        str2+=random_str[0] # 将随机选择的字符添加到结果字符串
    if str2[0] == "0":
        continue
    resault.append(str2)
    if len(resault)==4:
        break
print(resault)
"""
# 14、判断输入的数字是否大于1500
"""
while True:
    num = int(input("请你输入数字"))
    if num > 1500 :
        print("输入的数字",num,"大于1500")
        break
    else:
        print("输入的数字小于1500")
"""

